package org.infodavid.common.model.security;

import java.util.List;

import org.infodavid.common.persistence.ICommented;
import org.infodavid.common.persistence.IDataObject;

/**
 * The Interface IAccessControlList.
 */
public interface IAccessControlList extends IDataObject<Long>, ICommented {

  /** The IDENTIFIER. */
  String IDENTIFIER = "identifier";

  /** The ENTRIES. */
  String ENTRIES = "entries";

  /** The ID. */
  String ID = "aclKey";

  /** The ACL. */
  String ACL = "acl";

  /**
   * Gets the identifier.
   * @return the identifier
   */
  ISecurityIdentifier getIdentifier();

  /**
   * Sets the identifier.
   * @param value the new identifier
   */
  void setIdentifier(ISecurityIdentifier value);

  /**
   * Gets the entries.
   * @return the entries
   */
  List<IAccessControlEntry> getEntries();
}
